package com.config;

import com.alipay.api.internal.util.AbstractHttpClient;
import com.constans.AliPayCommonRequestConstants;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * @Author Ms.发发
 * @ClassName MyAliPayConfig
 * @Date 2024/12/18 19:33
 * @Description  自定义支付宝配置类
 **/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MyAliPayConfig extends AlipayConfig {

    private String serverUrl = AliPayCommonRequestConstants.SERVER_URL;
    private String appId = AliPayCommonRequestConstants.APP_ID;
    private String format = AliPayCommonRequestConstants.FORMAT;
    private String charset = AliPayCommonRequestConstants.CHARSET;
    private String signType = AliPayCommonRequestConstants.SIGN_TYPE;
    private String privateKey = AliPayCommonRequestConstants.PRIVATE_KEY; //
    private String alipayPublicKey =AliPayCommonRequestConstants.PUBLIC_KEY;//
    private String appCertPath;
    private String alipayPublicCertPath;
    private String rootCertPath;
    private String appCertContent;
    private String alipayPublicCertContent;
    private String rootCertContent;
    private String encryptType = "AES";
    private String encryptKey;
    private String proxyHost;
    private int proxyPort;
    private Map<String, String> customHeaders;
    private int connectTimeout = 3000;
    private int readTimeout = 15000;
    private int maxIdleConnections = 0;
    private long keepAliveDuration = 10000L;
    private AbstractHttpClient customizedHttpClient;

    private String returnUrl = "http://localhost:8080";
    private String notifyUrl = AliPayCommonRequestConstants.NOTIFY_URL; //

    public void AlipayConfig() {
    }

    public String getServerUrl() {
        return this.serverUrl;
    }

    public void setServerUrl(String serverUrl) {
        this.serverUrl = serverUrl;
    }

    public String getAppId() {
        return this.appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getFormat() {
        return this.format;
    }

    public void setFormat(String format) {
        this.format = format;
    }

    public String getCharset() {
        return this.charset;
    }

    public void setCharset(String charset) {
        this.charset = charset;
    }

    public String getSignType() {
        return this.signType;
    }

    public void setSignType(String signType) {
        this.signType = signType;
    }

    public String getEncryptKey() {
        return this.encryptKey;
    }

    public void setEncryptKey(String encryptKey) {
        this.encryptKey = encryptKey;
    }

    public String getEncryptType() {
        return this.encryptType;
    }

    public void setEncryptType(String encryptType) {
        this.encryptType = encryptType;
    }

    public String getPrivateKey() {
        return this.privateKey;
    }

    public void setPrivateKey(String privateKey) {
        this.privateKey = privateKey;
    }

    public String getAlipayPublicKey() {
        return this.alipayPublicKey;
    }

    public void setAlipayPublicKey(String alipayPublicKey) {
        this.alipayPublicKey = alipayPublicKey;
    }

    public String getAppCertPath() {
        return this.appCertPath;
    }

    public void setAppCertPath(String appCertPath) {
        this.appCertPath = appCertPath;
    }

    public String getAlipayPublicCertPath() {
        return this.alipayPublicCertPath;
    }

    public void setAlipayPublicCertPath(String alipayPublicCertPath) {
        this.alipayPublicCertPath = alipayPublicCertPath;
    }

    public String getRootCertPath() {
        return this.rootCertPath;
    }

    public void setRootCertPath(String rootCertPath) {
        this.rootCertPath = rootCertPath;
    }

    public String getAppCertContent() {
        return this.appCertContent;
    }

    public void setAppCertContent(String appCertContent) {
        this.appCertContent = appCertContent;
    }

    public String getAlipayPublicCertContent() {
        return this.alipayPublicCertContent;
    }

    public void setAlipayPublicCertContent(String alipayPublicCertContent) {
        this.alipayPublicCertContent = alipayPublicCertContent;
    }

    public String getRootCertContent() {
        return this.rootCertContent;
    }

    public void setRootCertContent(String rootCertContent) {
        this.rootCertContent = rootCertContent;
    }

    public String getProxyHost() {
        return this.proxyHost;
    }

    public void setProxyHost(String proxyHost) {
        this.proxyHost = proxyHost;
    }

    public int getProxyPort() {
        return this.proxyPort;
    }

    public void setProxyPort(int proxyPort) {
        this.proxyPort = proxyPort;
    }

    public Map<String, String> getCustomHeaders() {
        return this.customHeaders;
    }

    public void setCustomHeaders(Map<String, String> customHeaders) {
        this.customHeaders = customHeaders;
    }

    public int getConnectTimeout() {
        return this.connectTimeout;
    }

    public void setConnectTimeout(int connectTimeout) {
        this.connectTimeout = connectTimeout;
    }

    public int getReadTimeout() {
        return this.readTimeout;
    }

    public void setReadTimeout(int readTimeout) {
        this.readTimeout = readTimeout;
    }

    public int getMaxIdleConnections() {
        return this.maxIdleConnections;
    }

    public void setMaxIdleConnections(int maxIdleConnections) {
        this.maxIdleConnections = maxIdleConnections;
    }

    public long getKeepAliveDuration() {
        return this.keepAliveDuration;
    }

    public void setKeepAliveDuration(long keepAliveDuration) {
        this.keepAliveDuration = keepAliveDuration;
    }

    public AbstractHttpClient getCustomizedHttpClient() {
        return this.customizedHttpClient;
    }

    public void setCustomizedHttpClient(AbstractHttpClient customizedHttpClient) {
        this.customizedHttpClient = customizedHttpClient;
    }

}
